33 research outputs found
Automatic generation of simplified weakest preconditions for integrity constraint verification
Given a constraint assumed to hold on a database and an update to
be performed on , we address the following question: will still hold
after is performed? When is a relational database, we define a
confluent terminating rewriting system which, starting from and ,
automatically derives a simplified weakest precondition such that,
whenever satisfies , then the updated database will satisfy
, and moreover is simplified in the sense that its computation
depends only upon the instances of that may be modified by the update. We
then extend the definition of a simplified to the case of deductive
databases; we prove it using fixpoint induction
Tree inclusions in windows and slices
is an embedded subtree of if can be obtained by deleting some nodes from : if a node is deleted, all edges adjacent to are also deleted, and outgoing edges are replaced by edges going from the parent of (if it exists) to the children of . Deciding whether is an embedded subtree of is known to be NP-complete. Given two trees (a target and a pattern ) and a natural number , we address two problems: 1. counting the number of windows of having height exactly and containing pattern as an embedded subtree, and 2. counting the number of slices of having height exactly and containing pattern as an embedded subtree
On relating CTL to Datalog
CTL is the dominant temporal specification language in practice mainly due to
the fact that it admits model checking in linear time. Logic programming and
the database query language Datalog are often used as an implementation
platform for logic languages. In this paper we present the exact relation
between CTL and Datalog and moreover we build on this relation and known
efficient algorithms for CTL to obtain efficient algorithms for fragments of
stratified Datalog. The contributions of this paper are: a) We embed CTL into
STD which is a proper fragment of stratified Datalog. Moreover we show that STD
expresses exactly CTL -- we prove that by embedding STD into CTL. Both
embeddings are linear. b) CTL can also be embedded to fragments of Datalog
without negation. We define a fragment of Datalog with the successor build-in
predicate that we call TDS and we embed CTL into TDS in linear time. We build
on the above relations to answer open problems of stratified Datalog. We prove
that query evaluation is linear and that containment and satisfiability
problems are both decidable. The results presented in this paper are the first
for fragments of stratified Datalog that are more general than those containing
only unary EDBs.Comment: 34 pages, 1 figure (file .eps
Multiple serial episode matching
12In a previous paper we generalized the Knuth-Morris-Pratt (KMP) pattern matching algorithm and defined a non-conventional kind of RAM, the MP--RAMs (RAMS equipped with extra operations), and designed an on-line algorithm for solving the serial episode matching problem on MP--RAMs when there is only one single episode. We here give two extensions of this algorithm to the case when we search for several patterns simultaneously and compare them. More preciseley, given strings (a text of length and patterns ) and a natural number , the {\em multiple serial episode matching problem} consists in finding the number of size windows of text which contain patterns as subsequences, i.e. for each , if , the letters occur in the window, in the same order as in , but not necessarily consecutively (they may be interleaved with other letters).} The main contribution is an algorithm solving this problem on-line in time
The algebra of binary trees is affine complete
A function on an algebra is congruence preserving if, for any congruence, it
maps pairs of congruent elements onto pairs of congruent elements. We show that
on the algebra of binary trees whose leaves are labeled by letters of an
alphabet containing at least three letters, a function is congruence preserving
if and only if it is polynomial.Comment: 9 pages, 1 figur